package com.laicunba.service.jzh;

import java.math.BigDecimal;
import java.util.Date;

import com.laicunba.pojo.JzhAccountChangeBankDO;
import com.laicunba.pojo.vo.JzhAccountChangeBankVO;
import com.laicunba.service.BaseService;
import com.laicunba.service.jzh.JzhAccountChangeBankService.CreateJzhAccountResult;

public interface JzhAccountChangeBankService extends BaseService {
	public class CreateJzhAccountChangeBankParam {

		private String mchntTxnSsn;
		private String custNm;
		private String certifTp;
		private String certifId;
		private String mobileNo;
		private String email;
		private String cityId;
		private String parentBankId;
		private String bankNm;
		private String capAcntNm;
		private String capAcntNo;
		private String password;
		private String lpassword;
		private String rem;
		private String respCode;
		private String respDesc;
		private BigDecimal balance;
		private String loginId; //恒丰用户登陆id
		private String oldCityId;  //开户行地区代码
		private String oldBankNm;  //提现账户开户行
		private String oldParentBankId; 
		private String image1; 
		private String image2; 
		private String oldMobileNo; 
		private String oldMchntTxnSsn; 
		private String oldEmail; 
		private String reviewer; 
		private Date reviewTime;
		private String reviewState;
		private String id;

		
		public String getMchntTxnSsn() {
			return mchntTxnSsn;
		}
		public void setMchntTxnSsn(String mchntTxnSsn) {
			this.mchntTxnSsn = mchntTxnSsn;
		}
		public String getCustNm() {
			return custNm;
		}
		public void setCustNm(String custNm) {
			this.custNm = custNm;
		}
		public String getCertifTp() {
			return certifTp;
		}
		public void setCertifTp(String certifTp) {
			this.certifTp = certifTp;
		}
		public String getCertifId() {
			return certifId;
		}
		public void setCertifId(String certifId) {
			this.certifId = certifId;
		}
		public String getMobileNo() {
			return mobileNo;
		}
		public void setMobileNo(String mobileNo) {
			this.mobileNo = mobileNo;
		}
		public String getEmail() {
			return email;
		}
		public void setEmail(String email) {
			this.email = email;
		}
		public String getCityId() {
			return cityId;
		}
		public void setCityId(String cityId) {
			this.cityId = cityId;
		}
		public String getParentBankId() {
			return parentBankId;
		}
		public void setParentBankId(String parentBankId) {
			this.parentBankId = parentBankId;
		}
		public String getBankNm() {
			return bankNm;
		}
		public void setBankNm(String bankNm) {
			this.bankNm = bankNm;
		}
		public String getCapAcntNm() {
			return capAcntNm;
		}
		public void setCapAcntNm(String capAcntNm) {
			this.capAcntNm = capAcntNm;
		}
		public String getCapAcntNo() {
			return capAcntNo;
		}
		public void setCapAcntNo(String capAcntNo) {
			this.capAcntNo = capAcntNo;
		}
		public String getPassword() {
			return password;
		}
		public void setPassword(String password) {
			this.password = password;
		}
		public String getLpassword() {
			return lpassword;
		}
		public void setLpassword(String lpassword) {
			this.lpassword = lpassword;
		}
		public String getRem() {
			return rem;
		}
		public void setRem(String rem) {
			this.rem = rem;
		}
		public String getRespCode() {
			return respCode;
		}
		public void setRespCode(String respCode) {
			this.respCode = respCode;
		}
		public String getRespDesc() {
			return respDesc;
		}
		public void setRespDesc(String respDesc) {
			this.respDesc = respDesc;
		}
		public BigDecimal getBalance() {
			return balance;
		}
		public void setBalance(BigDecimal balance) {
			this.balance = balance;
		}
		public String getLoginId() {
			return loginId;
		}
		public void setLoginId(String loginId) {
			this.loginId = loginId;
		}
		public String getOldCityId() {
			return oldCityId;
		}
		public void setOldCityId(String oldCityId) {
			this.oldCityId = oldCityId;
		}
		public String getOldBankNm() {
			return oldBankNm;
		}
		public void setOldBankNm(String oldBankNm) {
			this.oldBankNm = oldBankNm;
		}
		public String getOldParentBankId() {
			return oldParentBankId;
		}
		public void setOldParentBankId(String oldParentBankId) {
			this.oldParentBankId = oldParentBankId;
		}
		public String getImage1() {
			return image1;
		}
		public void setImage1(String image1) {
			this.image1 = image1;
		}
		public String getImage2() {
			return image2;
		}
		public void setImage2(String image2) {
			this.image2 = image2;
		}
		public String getOldMobileNo() {
			return oldMobileNo;
		}
		public void setOldMobileNo(String oldMobileNo) {
			this.oldMobileNo = oldMobileNo;
		}
		public String getOldMchntTxnSsn() {
			return oldMchntTxnSsn;
		}
		public void setOldMchntTxnSsn(String oldMchntTxnSsn) {
			this.oldMchntTxnSsn = oldMchntTxnSsn;
		}
		public String getOldEmail() {
			return oldEmail;
		}
		public void setOldEmail(String oldEmail) {
			this.oldEmail = oldEmail;
		}
		public String getReviewer() {
			return reviewer;
		}
		public void setReviewer(String reviewer) {
			this.reviewer = reviewer;
		}
		public Date getReviewTime() {
			return reviewTime;
		}
		public void setReviewTime(Date reviewTime) {
			this.reviewTime = reviewTime;
		}
		public String getReviewState() {
			return reviewState;
		}
		public void setReviewState(String reviewState) {
			this.reviewState = reviewState;
		}
		public String getId() {
			return id;
		}
		public void setId(String id) {
			this.id = id;
		}		

	}

	public class CreateJzhAccountResult {

	}

	/**
	 * 通过已绑定的银行卡开通金帐户
	 * 
	 * @param uid
	 * @return
	 */
	boolean createAccountWithBindCard(String uid, String cityId);

	BigDecimal add(String uid, BigDecimal amt, String certificateId, String type, String summary);

	BigDecimal subtract(String uid, BigDecimal amt, String certificateId, String type, String summary);

	CreateJzhAccountResult createAccount(CreateJzhAccountChangeBankParam param);
	
	JzhAccountChangeBankDO getChangeBank(String userId);

}
